<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        class Person {
            constructor(name,age){
                this.name = name;
                this.age = age;
            }

            //实例方法
            //this指向实例对象
            say(){
                console.log("hello");
            }

            //静态方法
            //静态方法不会被实例对象继承，只能直接通过类来调用
            //注意：如果静态方法包含this关键字，那this指的是类，不是实例
            static sayHello(){
                console.log("sayHello");
                console.log(this.age)//相当于Person.age,会输出undefined
            }
        }

        //p:实例对象
        var p = new Person("iwen", 10);
        //通过实例对象来调用方法和属性
        p.say();
        console.log(p.name);

        //静态方法调用方式，直接用类名
        Person.sayHello();

        //静态属性，直接通过类名赋值
        Person.jobs = "python";
        console.log(Person.jobs);




    </script>
</body>
</html>